Ext.ns('Tm.user');
Tm.user.UserAddPanel = Ext.extend(Ext.Panel, {
			id : 'userAddPanel',
			frame : true,
			autoWidth : true,
			autoHeight : true,
			layout : 'fit',
			dataId : null,
			initComponent : function() {
				var dataId=this.dataId;
	
				var toolBar = new Ext.Toolbar({
							hideBorders : true,
							buttons : [{
										text : '保存',
										iconCls : 'act_acceptIcon',
										handler : function() {
											if (form.getForm().isValid()) {
												form.getForm().submit({
															waitMsg : '正在提交,请稍候...',
															url : 'user/saveOrUpdateUser.do',
															method : 'POST',
															success : function(form, action) {
																App.setAlert('ok', '操作成功');
																var returnUser = Ext.decode(action.response.responseText);
																//console.log(returnUser);
																var userAddPanel = Ext.getCmp('userAddPanel');
 																userAddPanel.init(returnUser );
																if(!userAddPanel.mainpanel.userAddPanel){
														
																	var userRolePanel = new Tm.user.UserRolePanel({
																		title : '用戶角色',
																		ref : 'userRolePanel',
																		userId : returnUser.id

																	});
																	userAddPanel.mainpanel.add(userRolePanel);
																	userAddPanel.mainpanel.setActiveTab(userRolePanel);
																}
															},
															failure : function(action, response) {
																App.setAlert('error', '操作失败');
															}
														});

											}
										}
									}, {
										xtype : 'tbseparator'
									}, {
										text : '重置',
										iconCls : 'act_resetIcon',
										handler : function() {
											form.getForm().reset();

										}
									} ]
						});

				
				var form = new Tm.common.FormPanel({
					tbar : toolBar,
					frame : true,
					title : '基本信息',
					ref : 'form',
					defaults:{
					xtype : 'textfield',
					//margins:'0 5 0 0',
					width:150
					},			
					errorReader : new Tm.common.DataReader(),
					items : [ {
						name : 'id',
						hidden : true
					},
					{
						fieldLabel : '用户账号',
						name : 'account',
						allowBlank : false,
						minLength: 5,
						maxLength: 20,
						vtype : 'uniqueusername',
					} 
					, {
						fieldLabel : '密码',
						id:'password',
						name : 'password',
						inputType: 'password' ,
						allowBlank : false
					}, {
						fieldLabel : '密码确认',
						name : 'passwordConfirm',
						inputType: 'password' ,
						allowBlank : false,
						validateOnBlur:true,
						vtype: 'password',
						initialPassField: 'password'  

					}, {
						fieldLabel : '用户姓名',
						name : 'name',
						allowBlank : false
					}, {
						fieldLabel : '移动电话',
						name : 'mobile',
						allowBlank : true
					}, {
						fieldLabel : '邮箱',
						name : 'email',
						allowBlank : false
					}, {
						name : 'enable',
						fieldLabel : '是否启用',
						xtype : 'combo',
						mode : 'local',
						editable : false,
						typeAhead : true,
						forceSelection : true,
						hiddenName : 'enable',
						mode : 'local',
						triggerAction : 'all',
						emptyText : '请选择...',
						selectOnFocus : true,
						store : Tm.data.userStates,
						allowBlank : false,
						listeners : {
							 afterRender : function(combo) {
 									combo.setValue('1');
							 }
						} 
					}, {
 						name : 'lastLoginTime',
						fieldLabel : '最后登录',
						readOnly : true,
						xtype: 'datefield',
						format : 'Y-m-d H:i:s',
						//editable : true,
						//disabled:true,
						hidden : true
					} ]
				});
					
	
				
				var mainpanel = new Ext.TabPanel({
							ref : 'mainpanel',
							frame : true,
							height : 360,
							autoWidth:true,
							activeTab : 0,
							defaults : {
								autoScroll : true
							},// 自动出现滚动条
							items : [form],

							enableTabScroll : true
						});
				// mainpanel.setActiveTab('usermainpanel');

				Ext.apply(this, {
							items : [mainpanel]
						});
				Tm.user.UserAddPanel.superclass.initComponent.call(this);
			},
			loadData : function() {
				var dataId = this.dataId;
				if (dataId) {
					Ext.Ajax.request({
						url : 'user/loadUser.do',
						params : {
							id : dataId
						},
						success : function(response, action) {
							var data = Ext.decode(response.responseText);
							var userAddPanel = Ext.getCmp('userAddPanel');
							userAddPanel.init(data);
							
							var userRolePanel = new Tm.user.UserRolePanel({
								title : '用戶角色',
								ref : 'userRolePanel',
								userId : data.id

							});
							userAddPanel.mainpanel.add(userRolePanel);

						
						
						},
						failure : function(response, action) {
							App.setAlert('error', '载入失败');
						}

					});
				}
			},
			init : function(data) {
				var userAddPanel = Ext.getCmp('userAddPanel');
				var form = userAddPanel.mainpanel.form;
				
				form.getForm().findField('id').setValue(data.id); 
				form.getForm().findField('name').setValue(data.name);
				form.getForm().findField('enable').setValue(data.enable);
				form.getForm().findField('account').setValue(data.account);
				form.getForm().findField('account').setReadOnly(true);
				form.getForm().findField('email').setValue(data.email);
				form.getForm().findField('mobile').setValue(data.mobile);
				form.getForm().findField('password').setValue(data.password);
				form.getForm().findField('passwordConfirm').setValue(data.password);
				form.getForm().findField('lastLoginTime').setValue(data.lastLoginTime);
				form.getForm().findField('lastLoginTime').show(); 
			},
			listeners : {
				render : function() {
					this.loadData();
				}
			}
		});
